package com.zpark.day08;

import java.util.Arrays;
import java.util.Random;

public class Demo02 {
    public static void main(String[] args) {
        // 利用随机数生成数字
        // 利用math的random方法生成伪随机数，范围：[0.0, 1.0)
        for (int i = 0; i < 5; i++) {
            double d = Math.random();
            // 生成0-100之间的随机数
            System.out.println((int) (d * 100));
        }

        System.out.println("*****************");
        // 利用Random类生成随机数
        // 1、创建random类对象
        Random random = new Random();
        // 2、调用对应的方法生成伪随机数
        for (int i = 0; i < 5; i++) {
            /**
             * random.nextInt(int bound)
             * bound为生成随机数的范围: [0, bound)
             */
            // 生成0-100之间的随机数
            System.out.println(random.nextInt(101));
        }

        // 调用创建数组方法
        int[] arr = createArray1();
        System.out.println(Arrays.toString(arr));
    }

    /**
     * 创建方法：利用随机数生成器，生成指定长度的数组，数组元素随机取值范围是[0,100]
     */
    public static int[] createArray1(){
        // 1、创建random对象
        Random random = new Random();
        // 2、随机生成数组的长度
        int len = random.nextInt(101);
        // 3、创建数组
        int[] arr = new int[len];
        // 4、使用for循环随机给每一个数组元素赋值
        for (int i = 0; i < arr.length; i++) {
            arr[i] = random.nextInt(101);
        }
        // 5、返回数组对象
        return arr;
    }


    /**
     * Random案例：猜数字游戏，随机生成一个1-100之间的数字，让用户猜，
     * 如果猜对了，提示猜对了，如果猜错了，提示猜大了还是猜小了，知道猜中为止
     */
    public static void guessNumber() {

    }
}
